LAYER 1: EXECUTIVE CONTEXT (Cody's Notes)

Note

Cody's Notes

LAYER 2: CORE PHILOSOPHY (The Narrative Summary)

The DORA (DevOps Research and Assessment) metrics represent the industry-standard framework for measuring and optimizing software delivery performance. Originally established through a decade of rigorous academic research led by Dr. Nicole Forsgren and Google, DORA shifts the paradigm of technology management from measuring individual developer activity (which is easily gamed and counterproductive) to assessing the systemic health, throughput, and stability of the entire software delivery engine.

For a product and technology organization transitioning from a "feature factory" to "empowered product teams," DORA metrics serve as a vital diagnostic tool. They establish a clear baseline for engineering velocity and operational quality, allowing VPs and AVPs to identify bottlenecks in the deployment pipeline. By focusing on these four metrics—Deployment Frequency, Lead Time for Changes, Change Failure Rate, and Failed Deployment Recovery Time—technical leaders can ensure their teams are reducing friction, maximizing automated feedback loops, and delivering continuous business value safely.

The Throughput vs. Stability Tension

A key insight of the DORA framework is that speed and stability are not mutually exclusive; they are reinforcing. High-performing engineering organizations do not trade off quality for velocity. Instead, they leverage techniques like continuous integration, test automation, trunk-based development, and small batch sizes to achieve both.

  1. Throughput (Velocity): Measured by Deployment Frequency and Lead Time for Changes. This captures how quickly a developer's idea or commit can reach production.
  2. Stability (Quality): Measured by Change Failure Rate and Failed Deployment Recovery Time. This captures how often releases cause impairment and how quickly the system recovers.

Connective Tissue: Systemic Velocity & DevEx (Pillar 1)

Within the Technology Operating Model (TOM), DORA is the empirical foundation of Get Stuff Done (Pillar 1). A high-performing deployment engine is a prerequisite for a strong Developer Experience (DevEx). When deployment pipelines are slow, manual, or highly prone to failure, developer cognitive load skyrockets, feedback loops are delayed, and delivery velocity stalls. By actively monitoring and improving DORA metrics, technology leaders directly reduce operational friction, enabling engineers to maintain focus and flow.

LAYER 3: FULL REFERENCE (Raw Article Content)

DORA’s Software Delivery Performance Metrics

Discover the essential measurements that can inform your ongoing journey of continuous improvement.

by Nathen Harvey

Technology-driven teams need ways to measure performance so that they can assess how they’re doing today, prioritize improvements, and validate their progress. DORA has identified five software delivery performance metrics that provide an effective way of measuring the outcomes of the software delivery process. DORA’s research shows that these performance metrics predict better organizational performance and well-being for team members.

A history of DORA's software delivery metrics

These metrics have evolved alongside the technology landscape: shifting from the original four keys to the current five-metric model. To understand the research behind changes like the move from MTTR to Failed Deployment Recovery Time, read A history of DORA’s software delivery metrics.

These software delivery performance metrics can be viewed as both leading and lagging indicators. Leading indicators typically signal potential future changes in a system while lagging indicators reflect past performance and outcomes.

These metrics function as:

  • Leading indicators for organizational performance and employee well-being
  • Lagging indicators for software development and delivery practices.

Throughput and instability[](https://dora.dev/guides/dora-metrics/#throughput-and-instability)

DORA’s software delivery performance metrics focus on a team’s ability to deliver software safely, quickly, and efficiently. They can be divided into metrics that show the throughput of software changes, and metrics that show instability of software changes.

Throughput[](https://dora.dev/guides/dora-metrics/#throughput)

Throughput is a measure of how many changes can move through the system over a period of time. Higher throughput means that the system can move more changes through to the production environment. DORA uses three factors to measure software delivery throughput:

Instability[](https://dora.dev/guides/dora-metrics/#instability)

Instability is a measure of how well the software deployments go. When deployments go well, teams can confidently push more changes into production and users are less likely to experience issues with the application immediately following a deployment. DORA uses two factors to measure software delivery instability:

Taken together, these two factors for software delivery performance (throughput and instability) give teams a high-level understanding of their software delivery performance. Measuring these over time provides insight into how software delivery performance is changing. These factors can be used to measure any application or service, regardless of the technology stack, the complexity of the deployment processes, or its end users.

Key insights[](https://dora.dev/guides/dora-metrics/#key-insights)

DORA’s research has repeatedly demonstrated that speed and stability are not tradeoffs. In fact, we see that the metrics are correlated for most teams. Top performers do well across all five metrics, and low performers do poorly.

These metrics work for any type of technology your organization is delivering, but are best suited for measuring one application or service at a time. Whether you are building large language models, retail banking applications, mobile food ordering applications, or mainframe-based travel systems, these five metrics can help you assess the delivery performance of your application.

Context matters. Apply the metrics in the context of the application or service your team is delivering. The context for your application, organization, and users will vary from other applications that your organization is delivering. While it may be tempting to blend metrics across multiple teams–or entire organizations–these differences in context mean that doing so can be problematic.

“…the real trade-off, over long periods of time, is between better software faster and worse software slower.” —Farley, D. (2021). Modern Software Engineering: Doing what works to build better software faster (p. 154). Addison-Wesley.

Common pitfalls[](https://dora.dev/guides/dora-metrics/#common-pitfalls)

There are some pitfalls to watch out for as your team adopts DORA’s software delivery metrics, including the following:

What pitfalls have you encountered? Share your own cautionary tales with the DORA community by posting to the mailing list at https://dora.community.

Dive into the research[](https://dora.dev/guides/dora-metrics/#dive-into-the-research)

DORA’s research goes beyond these five metrics, exploring various capabilities that contribute to high performance. You can learn more about these capabilities and their impact on software delivery by visiting the capability catalog.

By understanding and effectively utilizing DORA metrics, you can gain valuable insights into your software delivery performance and drive continuous improvement. Remember, the goal is to deliver better software faster, and DORA metrics provide the compass to orient teams toward that objective.

Next steps[](https://dora.dev/guides/dora-metrics/#next-steps)

A common approach to improving the five key metrics discussed in this guide is reducing the batch size of changes for an application. Smaller changes are easier to rationalize and to move through the delivery process. Smaller changes are also easier to recover from if there’s a failure. Teams should make each change as small as possible to make the delivery process fast and stable. Working in this way contributes to both change throughput and change stability.

We have found that an effective way of making changes is to gather the cross-functional team that is responsible for prioritizing, building, delivering, and operating an application for a discussion about improving their software delivery performance. Once the team is gathered, walk through the following steps:


Generated for the Product Growth Program.